<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="jquery.min.js"></script>
    <script>
        $(function () {
            // $.extend([深/浅拷贝],目标对象,待拷贝对象,[待拷贝对象N])
            // 解析: 待拷贝对象数据拷贝给目标对象 待拷贝对象可以有很多个
            // 括号里为三个参数:
            // 参数1.深(true)/浅拷贝(false),如果不写默认为浅拷贝
            // 参数2.拷贝对象1;
            // 参数3.拷贝对象n
            // 特别注意:
            //                  浅拷贝(false)和深拷贝(true)
            // 浅拷贝：会把原来对象里面的复杂数据类型（object）地址拷贝给目标对象
            var traget = {
                age: 18,
                sex: '男',
                msg: {
                    name: 'red'
                }
            }
            var obj = {
                age: 19,
                sex: '女',
                msg: {
                    name: 'andy'
                }
            }
            $.extend(traget, obj)//参数1不写默认为false浅拷贝即复杂数据类型的地址会拷贝给目标对象 那么意味着如果目标对象重新修改原复杂数据类型的值 那么原对象里的原复杂数据值会被覆盖为修改后的值
            console.log(traget);//msg{name:'red'}
            console.log(obj);

            // 深拷贝 会把原来对象的数据完全复制一份给目标对象 如果里面有不冲突的属性，会合并到一起
            //                                                 //   冲突的属性 不合并到一起
            var traget = {
                age: 19,
                sex: '男',
                msg: {
                    name: 'andy'
                }
            }
            var obj = {
                age: 18,
                sex: '女',
                msg: {
                    diqu: 'henan'
                }
            }
            $.extend(true, traget, obj)
            console.log(traget);
            console.log(obj);
// 不一样的都分别留下来 一样的都以最新的为准




        })
    </script>
</head>

<body>

</body>

</html>